![]() オーディオプレーヤにおいて可変ルートノートサポートを提供するためのシステムおよび方法
专利摘要:
オーディオプレーヤにおいて可変ルートノートサポートを提供するための方法が説明される。電子楽器デジタルインターフェース(MIDI)データとユーザ定義機器のセットとをもつファイルは受け取られる。メトリックは、ユーザ定義機器におけるユーザ定義ルートノート、MIDIデータにおけるMIDIノートに対するキー番号、プレーヤ固有のルートノートを使用して決定される。キー番号は、メトリックに基づいて調整される。 公开号:JP2011511308A 申请号:JP2010544455 申请日:2009-01-24 公开日:2011-04-07 发明作者:クルカルニ、プラジャクト;デバラパッリ、スレッシュ 申请人:クゥアルコム・インコーポレイテッドQualcomm Incorporated; IPC主号:G10H1-00
专利说明:
[0001] 本出願は、発明者Prajakt KulkarniおよびSuresh Devalapalliによる「Techniques to Improve the Similarity of the Output Sound Between Audio Players」と題する2008年1月24日に出願された米国仮特許出願第61/023,174号に関し、その優先権を主張する。] 技術分野 [0002] 本開示は、デジタルオーディオに関する。詳細には、本開示は、MIDIオーディオプレーヤにおいて可変ルートノートサポート(variable root note support)を提供することに関する。] 背景 [0003] 電子楽器デジタルインターフェース(MIDI)フォーマットは、ミュージック、スピーチ、トーン、警報などのオーディオサウンドの生成、通信および/または再生に使用される。MIDIは多種多様な装置でサポートされる。例えば、無線電話機などワイヤレス通信デバイスは、呼出音や他のオーディオ出力などのダウンロード可能なサウンド用のMIDIファイルをサポートすることができる。アップルコンピュータ(登録商標)社が販売している「iPod(登録商標)」デバイスやマイクロソフト(登録商標)社が販売している「Zune(登録商標)」デバイスなどデジタル音楽プレーヤも、MIDIファイルフォーマットをサポートすることができる。MIDIフォーマットをサポートする他のデバイスは、様々な音楽シンセサイザ、ワイヤレスモバイルデバイス、直接双方向通信デバイス(ウォーキートーキーと呼ばれることがある)、ネットワーク電話、パーソナルコンピュータ、デスクトップおよびラップトップコンピュータ、ワークステーション、衛星ラジオデバイス、相互通信方式デバイス、ラジオ放送デバイス、携帯ゲーム機、デバイスに取り付けられた回路基板、情報キオスク、ビデオゲームコンソール、児童用の様々なコンピュータ化された玩具、自動車で使用されるオンボードコンピュータ、船舶および航空機、ならびに多種多様な他のデバイスを含む。] [0004] MIDIファイルは、MIDIプレーヤ上でプレイされる楽音に関する情報を含むことができる。しかしながら、MIDIプレーヤは、MIDIファイルをプレイするためのプレーヤ固有のパラメータをも使用することができる。したがって、同じMIDIファイルが2つの異なるMIDIプレーヤでプレイされるとき、同じに聞こえないことがある。これの考えられる理由は、マルチリージョン機器サポート(multi-region instrument support)または可変ルートノートサポートがないことである。したがって、オーディオプレーヤにおいて可変ルートノートサポートを提供するための技法が必要である。] 図面の簡単な説明 [0005] 図1は、本システムおよび方法を用いて修正できるシステムを例示するブロック図である。 図2は、本システムおよび方法にしたがって修正でき、そのうえ類似の出力を維持することができるシステムを例示するブロック図である。 図3は、オーディオプレーヤにおいてマルチリージョン機器サポートおよび可変ルートノートサポートを提供するためのシステムを例示するブロック図である。 図3Aは、図3のシステムにおける変換モジュールがプロセッサによって実装できることを例示するブロック図である。 図3Bは、図3のシステムにおける変換モジュール、未知のプレーヤ、および既知のプレーヤがプロセッサによって実装できることを例示するブロック図である。 図4は、オーディオプレーヤにおいてマルチリージョン機器サポートおよび可変ルートノートサポートを提供するためのシステムの別の構成を例示するブロック図である。 図5は、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステムを例示するブロック図である。 図6は、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステムの別の構成を例示するブロック図である。 図7は、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための方法を例示する流れ図である。 図7Aは、図7の方法に対応するミーンズプラスファンクションブロックを例示する。 図8は、オーディオプレーヤにおいて可変ルートノートサポートを提供するためのシステムを例示するブロック図である。 図9は、オーディオプレーヤにおいて可変ルートノートサポートを提供するためのシステムの別の構成を例示するブロック図である。 図10は、オーディオプレーヤにおいて可変ルートノートサポートを提供するための方法を例示する流れ図である。 図10Aは、図10の方法に対応するミーンズプラスファンクションブロックを例示する。 図11は、オーディオプレーヤにマルチリージョン機器サポートおよび可変ルートノートサポートを提供するためのシステムを例示するブロック図である。 図12は、オーディオプレーヤにマルチリージョン機器サポートおよび可変ルートノートサポートを提供するための方法を例示する流れ図である。 図12Aは、図12の方法に対応するミーンズプラスファンクションブロックを例示する。 コンピューティングデバイス/電子デバイスにおいて利用できる様々な構成要素を例示するブロック図である。] 図1 図10 図10A 図11 図12 図12A 図2 図3 図3A 図3B 詳細な説明 [0006] オーディオプレーヤにおいて可変ルートノートサポートを提供するための方法が開示される。MIDIデータとユーザ定義機器のセットとをもつファイルが受け取られる。メトリックは、ユーザ定義機器におけるユーザ定義ルートノート、MIDIデータにおけるMIDIノートに対するキー番号、プレーヤ固有のルートノートを使用して決定される。キー番号は、メトリックに基づいて調整される。] [0007] オーディオプレーヤにおいて可変ルートノートサポートを提供するための装置も開示される。本装置は、プロセッサと、プロセッサと電子的に通信するメモリとを含む。メモリには実行可能命令が記憶される。本命令は、MIDIデータとユーザ定義機器のセットとをもつファイルを受け取るように実行可能である。本命令はまた、ユーザ定義機器におけるユーザ定義ルートノート、MIDIデータにおけるMIDIノートに対するキー番号、プレーヤ固有のルートノートを使用してメトリックを決定するように実行可能とすることができる。本命令は、メトリックに基づいてキー番号を調整するように実行可能である。] [0008] オーディオプレーヤにおいて可変ルートノートサポートを提供するためのコンピュータプログラム製品も開示される。コンピュータプログラム製品は、その上に命令を有するコンピュータ可読媒体を備える。本命令は、MIDIデータとユーザ定義機器のセットとをもつファイルを受け取るためのコードを含むことができる。本命令はまた、ユーザ定義機器におけるユーザ定義ルートノート、MIDIデータにおけるMIDIノートに対するキー番号、プレーヤ固有のルートノートを使用してメトリックを決定するためのコードを含むことができる。本命令はまた、メトリックに基づいてキー番号を調整するためのコードを含むことができる。] [0009] オーディオプレーヤにおいて可変ルートノートサポートを提供するための装置も開示される。本装置は、MIDIデータとユーザ定義機器のセットとをもつファイルを受け取るための手段を含むことができる。本装置はまた、ユーザ定義機器におけるユーザ定義ルートノート、MIDIデータにおけるMIDIノートに対するキー番号、プレーヤ固有のルートノートを使用してメトリックを決定するための手段を含むことができる。本装置はまた、メトリックに基づいてキー番号を調整するための手段を含むことができる。] [0010] オーディオプレーヤにおいて可変ルートノートサポートを提供するための集積回路も開示される。本集積回路は、MIDIデータとユーザ定義機器のセットとをもつファイルを受け取るように構成できる。本集積回路はまた、ユーザ定義機器におけるユーザ定義ルートノート、MIDIデータにおけるMIDIノートに対するキー番号、プレーヤ固有のルートノートを使用してメトリックを決定するように構成できる。本集積回路はまた、メトリックに基づいてキー番号を調整するように構成できる。] [0011] 電子楽器デジタルインターフェース(MIDI)プレーヤは、入力としてMIDIファイルを受け取り、出力として音楽を合成することができる。そうする際に、MIDIプレーヤは、様々な合成技法を使用することができる。これらの合成技法の2つには、周波数変調(FM)合成とウェーブテーブル合成とを含む。MIDIファイルは、プレイすべきノートのキー番号、ノートをプレイするときに使用すべき機器、ノート速度などを記述するメッセージを含むことができる。いくつかの非MIDI音楽デコーダとは異なり、MIDIシンセサイザは、意図されたサウンドを記述する波形を復号することができない。代わりに、各MIDIシンセサイザは、シンセサイザ固有のツールを使用して、MIDIファイル中のメッセージに基づいて出力信号を生成することができる。したがって、2つの異なるMIDIプレーヤによってプレイされるときに、同じMIDIファイルが異なって聞こえることがある。ここで使用される「キー番号」と「ノート番号」という用語は、互換的に使用でき、MIDIノートのピッチを識別するデータを示すために使用される。] [0012] これらの不整合問題を緩和するために、MIDI Manufacturers Association(MMA)はDownloadable Sounds(DLS)の概念を導入した。DLSは、MIDI機器がどのように鳴るべきかを規定し、機器を合成するために必要なすべてのパラメータを含む。] [0013] DLS規格にしたがって、各機器はリージョンに分割されることができる。リージョンは、機器上のノートのセットを表すことができる。機器は、0〜127のMIDIノート範囲全体をカバーするただ1つのリージョンを有することができ、または全範囲のサブセットをそれぞれカバーする複数のリージョンを有することができる。例えば、ピアノ機器は、ノート0〜30をカバーする第1のリージョン、ノート31〜120をカバーする第2のリージョン、およびノート121〜127をカバーする第3のリージョンを有するものとしてDLSファイル中で定義できる。DLSファイルは、各リージョンのルートノートと波形とを定義することができる。ルートノートは、修正されていない波形が関連付けられるノートとすることができる。言い換えれば、ルートノートがプレイされるように選択された場合、プレーヤは、リージョンに関連する波形をピッチ修正なしに出力することができる。しかしながら、非ルートノートがプレイされるように選択された場合、波形のピッチは所望の出力を達成するために変更されることができる。また、ルートノートの場合でも、波形に対する変調または他の非ピッチ修正があることがある。例えば、波形は、様々なサンプリング周波数を捕らえるためにリサンプリングされるとしてもよい。] [0014] 図1は、本システムおよび方法を用いて修正できるシステム100を例示するブロック図である。ここで使用される「音楽ファイル」という用語は、MIDIフォーマットおよびユーザ定義機器データに準拠する少なくとも1つのオーディオトラックを含むオーディオデータまたはファイルを指す。MIDIフォーマットに準拠し、音楽ファイル110中にあるファイルフォーマットは、Qualcomm(登録商標)社によって開発されたCompact Media Extensions(CMX)、ヤマハ株式会社(登録商標)によって開発されたSynthetic Music Mobile Application Format(SMAF)、およびScalable PolyphonyMIDI(SP−MIDI)を含む。音楽ファイル110中のユーザ定義機器データは、機器情報を含むDLSファイルとすることができる。例えば、音楽ファイル110は、DLSとMIDIファイルとを含むeXtensible Music Format(XMF)ファイルとすることができる。] 図1 [0015] MIDIはメッセージベースのプロトコルであるので、各オーディオプレーヤ104、108は、固有のファイルフォーマットサポートを使用して、音楽ファイル110をプレイすることができる。このファイルフォーマットサポートは、音楽ファイル110中のMIDIメッセージに基づいて出力を生成するために使用される1つまたは複数のファイルを含むことができ、別々のオーサリングツール102、106中に常駐することができる。言い換えれば、第1のオーサリングツール102は、第1のシンセサイザ105が音楽ファイル110をプレイするために使用することができるファイルフォーマットサポートを含むことができる。同様に、第2のオーサリングツール106は、第2のシンセサイザ109が音楽ファイル110をプレイするために使用することができるファイルフォーマットサポートを含むことができる。さらに、第1のオーサリングツール102は、音楽ファイル110を第1のプレーヤ固有のフォーマット103に変換することができ、第2のオーサリングツール106は、音楽ファイル110を第2のプレーヤ固有のフォーマット107に変換することができる。第1のオーサリングツール102は第2のオーサリングツール106とは異なることがあるので、第1のプレーヤ出力112は第2のプレーヤ出力114とは異なることがある。詳細には、第1のプレーヤ出力112と第2のプレーヤ出力114との相違は、以下に起因することがある。(1)MIDIプロトコルは、プレイすべきノート、ノートをプレイするときに使用すべき機器、ノートに対する変調などをのみ指定し、MIDIは、ノートがプレイされるときにどのように鳴るべきかを指定しない、(2)様々なプレーヤは、合成のための様々な技法を使用することができる、および(3)同じ合成技法でも、様々なオーディオプレーヤは、同じ機器を異なるようにモデル化することがある。例えば、MIDI合成されたピアノは、ハイエンドのオーディオプレーヤでは本物のアコースティックグランドピアノのように聞こえることがあるが、低品質のオーディオプレーヤではトランペットのように聞こえることがある。] [0016] さらに、同じ音楽ファイル110が異なるプレーヤ104、108上でプレイされるときにも、いくつかの相違が観測されることがある。最初に、プレーヤ104、108の機器ボリュームミキシングが異なることがある。例えば、音楽ファイル110がピアノおよびフルートによってプレイされるMIDIノートを含む場合、第1のプレーヤ104では、ピアノノートがフルートノートよりも高いボリュームでプレイされ、第2のプレーヤ108では、フルートノートがピアノよりも高いボリュームでプレイされることがある。さらに、機器に対するビブラートおよびトレモロ効果は、機器が異なるプレーヤ104、108でモデル化される方法に応じて異なることがある。さらに、いくつかのプレーヤ104、108は、定義された範囲よりも高いまたは低いノートを無視することがある。] [0017] これらの相違にもかかわらず、異なるオーディオプレーヤ104、108において類似 の出力を発生するために、以下で説明する本システムおよび方法をシステム100中に実装することができる。言い換えれば、本システムおよび方法を実装すると、第1のプレーヤ出力112は第2のプレーヤ出力114と類似になる。] [0018] 図2は、本システムおよび方法にしたがって修正され、そのうえ類似の出力を維持することができるシステム200を例示するブロック図である。システム200に入る音楽ファイルは、DLSファイルとMIDIファイルとを含むXMFファイル210とすることができる。DLS機器パラメータはプレーヤ固有の機器パラメータにマッピングされることができるので、異なるDLS対応プレーヤ208上でプレイされるときでも、XMFファイル210は、類似の出力214を生成することができる。] 図2 [0019] しかしながら、XMFファイル210中で使用されるようなDLS規格は、ウェーブテーブル合成をサポートするシンセサイザの大部分において限定された機能でのみサポートされる。非DLS対応プレーヤによってプレイされるとき、出力は、以下理由により類似に聞こえないことがある。第1に、DLSは、ユーザが、機器の任意のノートをそのリージョンのルートノートとして定義することを可能にする。非DLSプレーヤは、これを可能にしないが、そうではなくルートノートを固定することができる。ルートノートは、基準波形を識別するために使用されるので、入力DLSファイル中で指定されたルートノートではなく非DLSプレーヤの固定のルートノートを使用することにより、出力が、意図された出力とは異なって聞こえることがある。第2に、非DLSプレーヤは、単一の機器内で複数のリージョンをサポートすることができない。マルチリージョン機器を使用するノートがプレイされるとき、非DLSプレーヤはノートを単に無視するか、または間違ったリージョンを割り当て、プレーヤ設計に基づく不整合を引き起こす。第3に、非DLSプレーヤにおける範囲サポートが、制限され、矛盾していることがある。] [0020] ここで説明するシステムおよび方法は、プレーヤの1つがDLS対応プレーヤ208でないときでも、異なるプレーヤに類似の出力を与えることができる。これは、XMFファイル210を改変する変換モジュールを使用して行うことができる。例えば、本システムおよび方法は、QualcommのCMX(Compact Media eXtension)プレーヤとヤマハのSMAF(Synthetic Music Mobile Application Format)プレーヤとに類似の出力を生成することができる。この例では、XMFファイル210があるとすれば、変換モジュールは、マルチリージョン機器をシングルリージョン機器にマッピングし、および/または、XMFファイル210中の1つまたは複数のノートを修正して、SMAFファイルなどの新しい音楽ファイルを作成することができる。XMFファイル210に対するこれらの修正の後、新しい音楽ファイルは、SMAFプレーヤなどの非DLSプレーヤによってプレイされるときに、XMFファイル210をプレイするCMXプレーヤの出力と類似の出力を生成することができる。] [0021] 図3は、オーディオプレーヤにおいてマルチリージョン機器サポートおよび可変ルートノートサポートを提供するためのシステム300を例示するブロック図である。システム300は、変換モジュール316と、未知のオーディオプレーヤ304と、既知のオーディオプレーヤ308とを含むことができる。本明細書で使用する「未知のプレーヤ」という用語は、1つまたは複数の合成パラメータおよび/または論理が変換モジュール316に知られていないオーディオプレーヤ、シンセサイザ、または両方を指す。例えば、未知のプレーヤ304は、変換モジュール316に知られていない方法でマルチリージョン機器およびユーザ定義ルートノートを解釈することができる。その結果、未知のプレーヤ出力312は予測不能であり、既知のプレーヤ出力314とは異なることがある。対照的に、「既知のプレーヤ」という用語は、合成パラメータおよび論理が変換モジュール316に知られているオーディオプレーヤ、シンセサイザ、または両方を指すことができる。例えば、既知のプレーヤ308は、マルチリージョン機器および可変ルートノートをサポートすることができる。したがって、未知のプレーヤ304は、未知の内部論理を使用してマルチリージョン機器および可変ルートノートを処理するので、既知の出力314は未知の出力312よりも予測可能である。言い換えれば、変換モジュール316は、未知の出力312を、さもなければ既知の出力314と類似でないときに類似にすることができる。] 図3 [0022] 変換モジュール316は、音楽ファイル310または音楽ファイル310の一部を受け取り、未知の出力312が既知の出力314と類似になるように音楽ファイル310を調整することができる。例えば、変換モジュール316は、音楽ファイル310中のマルチリージョン機器を、未知のプレーヤ304において正しくプレイできるシングルリージョン機器にマッピングすることができる。代替的に、または追加として、変換モジュール316は、音楽ファイル310中の可変ルートノートと未知のプレーヤ304中の固定のルートノートとの差に基づいて、音楽ファイル310中のノートキー番号を調整することができる。これらの修正により、既知の出力314は未知の出力312と類似になる。] [0023] 変換モジュール316は、MIDIノートを受け取り、MIDIノートキー番号および/または機器番号を調整し、ノートを1つずつ未知のプレーヤ304に送ることができる。代替的に、変換モジュール316は、音楽ファイル310を全体として受け取り、音楽ファイル310中のすべてのノートを調整し、次いで、MIDIノートへの変更を反映する新しい音楽ファイル(図示せず)を生成することができる。新しい音楽ファイル(図示せず)を生成することは、音楽ファイル310中の調整されたパラメータを書き換えることを含む。例えば、変換モジュール316は、音楽ファイル310を受け取り、音楽ファイル310中のキー番号および機器番号を調整し、未知のプレーヤ304が未知のプレーヤ出力312を生成するために使用する新しい音楽ファイルを作成することができる。新しい音楽ファイルは、DSLファイルなどのユーザ定義機器を含むことができる。新しい音楽ファイルのMIDI部分は、SMAFファイル、または標準MIDIファイル(SMF)、CMX、またはSP−MIDIなど異なるタイプのMIDIファイルとすることができる。例えば、新しい音楽ファイルは、音楽ファイル310のMIDI部分中に含めることができないグラフィックスおよびパルス符号変調(PCM)サポートを含むSMAFファイルを含むことができる。] [0024] 変換モジュール316は、リージョントランスレータ318と、リージョンコンバータ320と、ノートトランスレータ322とを含むことができる。これらの3つのモジュールは、本システムおよび方法を実装するために組み合わさり、一緒にまたは独立して動作することができる。言い換えれば、変換モジュール316が動作するために、3つすべてが必要なわけではない。リージョンコンバータ320は、音楽ファイル310中のマルチリージョン機器を、シングルリージョン機器がマッピングされたリージョンと同じパラメータをもつシングルリージョン機器にマッピングすることができる。リージョントランスレータ318は、マルチリージョン機器をサポートしない未知のプレーヤ304が、依然として、マルチリージョン機器をもつ音楽ファイル310を正しくプレイすることができるように、これらのシングルリージョン機器を使用して音楽ファイル310中のMIDIノートを調整することができる。さらに、ノートトランスレータ322は、固定のルートノートをもつ未知のプレーヤ304が、可変ルートノートをもつ音楽ファイル310を正しくプレイすることを可能にすることができる。] [0025] 図3Aに示すように、変換モジュール316はプロセッサ301によって実装できる。図3Bに示すように、変換モジュール316、未知のプレーヤ304、および既知のプレーヤ308は、プロセッサ301によって実装できる。異なるプロセッサを使用して、異なる構成要素を実装することができる(例えば、1つのプロセッサは変換モジュール316を実装することができ、別のプロセッサを使用して未知のプレーヤ304を実装することができ、さらに別のプロセッサを使用して既知のプレーヤ308を実装することができる)。] 図3A 図3B [0026] 図4は、オーディオプレーヤにおいてマルチリージョン機器サポートおよび可変ルートノートサポートを提供するためのシステム400の別の構成を例示するブロック図である。システム400は、未知のプレーヤ404と既知のプレーヤ408とを含むことができる。例えば、未知のプレーヤ404は、各機器に対してシングルリージョン機器および固定のルートノートをのみサポートするプレーヤとすることができる。既知のプレーヤ408は、マルチリージョン機器および可変ルートノートをサポートすることができる。したがって、変換モジュール416がなければ、未知の出力412は既知の出力414と類似にならない。] 図4 [0027] 未知のプレーヤ404はファイルパーサ402を含むことができる。ファイルパーサ402は音楽ファイル410に対応することができる。例えば、音楽ファイル410がXMFファイルである場合、ファイルパーサ402はXMFパーサとすることができる。ファイルパーサ402は、音楽ファイル410をプレーヤ固有のデータに変換することができる。例えば、未知のプレーヤ404がSMAFプレーヤである場合、ファイルパーサ402は、音楽ファイル410を特にSMAFフォーマットに変換することができる。また、ファイルパーサ402は、シンセサイザ405の関係するパラメータを変換モジュール416に通知することができる。例えば、パーサ402は、シンセサイザ405が固定のルートノートをのみサポートすること、またはシンセサイザ405がマルチリージョン機器をサポートしないことを変換モジュール416に伝えることができる。] [0028] 変換モジュール416は、未知のプレーヤ404および既知のプレーヤ408から類似の出力を生成するために、データの中でもファイルパーサ402からの情報を使用して音楽ファイル410を修正することができる。これは、未知のプレーヤ404がマルチリージョン機器を使用してノートを正しくプレイするように、音楽ファイル410を修正することを含むことができる。これを行うために、リージョンコンバータ420は、音楽ファイル410中のすべてのマルチリージョン機器をシングルリージョン機器にマッピングすることができる。リージョントランスレータ418は、次いで、サポートされていないマルチリージョン機器ではなくシングルリージョン機器がプレイされるように、音楽ファイル410中のMIDIデータを調整することができる。これは、1つまたは複数のプログラム変更コマンドを音楽ファイル410に挿入することを含むことができる。そうすることによって、マルチリージョン機器を使用するノートは、さもなければマルチリージョン機器をサポートすることができない未知のプレーヤ404上で正しくプレイすることができる。] [0029] さらに、変換モジュール416は、さもなければ可変ルートノートをサポートすることができない未知のプレーヤ404において可変ルートノートサポートを提供することができる。これは、未知のプレーヤ404がユーザ定義ルートノートを使用してノートを正しくプレイするように、音楽ファイル410を修正することを含むことができる。これを行うために、ノートトランスレータは、シンセサイザ405によってサポートされる固定のルートノートと各MIDIノートで使用される機器リージョン中のルートノートとの差を決定することができる。ノートトランスレータ422は、次いで、未知のプレーヤ404が可変ルートノートをもつ音楽ファイル410を正しくプレイするように、音楽ファイル410中の各MIDIノートを同じ差によって調整することができる。シンセサイザ405は、入力としてMIDIノートを受け取り、出力波形を生成することができる。] [0030] 変換モジュール416は、未知のプレーヤ404にマルチリージョンサポートおよび/または可変ルートノートサポートの両方を提供することができるが、変換モジュール416の一部のみを実装することができることに留意されたい。言い換えれば、未知のプレーヤ404が可変ルートノートをサポートし、マルチリージョン機器をサポートしない場合、変換モジュール416はノートトランスレータ422を含まなくてもよい。同様に、未知のプレーヤ404がマルチリージョン機器をサポートし、可変ルートノートをサポートしない場合、変換モジュール416はリージョントランスレータ418およびリージョンコンバータ420を含まなくてもよい。] [0031] 図5は、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステム500を例示するブロック図である。前述のように、MIDIデータ524とユーザ定義機器データ526とを含む音楽ファイル510を受け取る未知のプレーヤ504および既知のプレーヤ508がある。未知のプレーヤ504はマルチリージョン機器542をサポートすることができない。MIDIデータ524は1つまたは複数のMIDIノート528を含むことができ、各MIDIノート528は、データの中でも、機器番号530とキー番号532とを含む。機器番号530は、MIDIノート528をプレイするときに、どの機器定義534を使用すべきかをシンセサイザに示すことができ、キー番号532はMIDIノート528のピッチを示すことができる。本明細書で使用する「機器定義」という用語は、オーディオプレーヤが出力を生成するために使用する電子ファイルまたはデータのセットを指す。「機器定義」と「機器」という用語は、本明細書では互換的に使用されることがある。] 図5 [0032] 音楽ファイル510はまた、MIDIデータ524中の各機器の機器定義534を含むDLSファイルとすることができるユーザ定義機器データ526を含むことができる。DLSフォーマットは、各機器定義534が複数のリージョン536を有することを可能にする。各リージョン536は、シンセサイザ505が予測可能な方法で音楽ファイル510をプレイするのを助ける他のパラメータ537をも含むことができる。これらのパラメータ537は、ルートノート、波形、ボリュームレベル、ボリュームエンベロープパラメータ(アタックレート、ディケイレート、リリースレート)、ピッチエンベロープパラメータ(アタックレート、ディケイレート、リリースレート)、時間的に変化するフィルタパラメータなどを含むことができる。ルートノートは、修正されていない波形が関連付けられるノートとすることができる。言い換えれば、ルートノートがプレイされるように選択された場合、プレーヤは、リージョンに関連する波形をピッチ修正なしに出力することができる。各機器定義534はまた、シンセサイザ505がMIDIデータ524中の機器番号530に基づいて正しいパラメータを使用することができるように、機器番号530を含むことができる。] [0033] 企業固有またはプレーヤ固有であるいくつかのファイルフォーマットは、2つ以上のリージョン536をもつ機器定義534をサポートしないことがある。シングルリージョンプレーヤ用のオーサリングツールは、そのような機器定義534を処理することができないことを示すエラーをスローする。代替的に、オーサリングツールは、機器定義534内のキーの範囲全体について第1のリージョン536を使用する。いずれの場合も、未知の出力512は予想通りには聞こえない。] [0034] シングルリージョンプレーヤによってDLSファイルをサポートするために、音楽ファイル510中の任意の複数のリージョン機器534を(1つまたは複数の)シングルリージョン機器として表す必要がある。これは、マルチリージョン機器の機器定義534をシングルリージョン機器にマッピングすることを必要とし、マッピングに基づくMIDIデータ524への変更をも必要とすることがある。特に、MIDIデータ524中の機器番号530を変更することができる。この技法について以下で説明する。] [0035] 第1に、ファイルパーサ502は、音楽ファイル510を受け取り、それをMIDIデータ524とユーザ定義機器データ526との2つの部分に分割する。ユーザ定義機器パーサ540は、次いで、ユーザ定義機器データ526中の複数のリージョンをもつすべての機器534を識別し、マルチリージョン機器のリストを記憶する。MIDIプレーヤ538は、さらにMIDIデータ524をパースする。同様に、ユーザ定義機器パーサ540は、ユーザ定義機器データ526をパースし、波形定義を用いて機器542を作成する。例えば、音楽ファイル510がXMFファイルである場合、ファイルパーサ502はXMFパーサとすることができ、音楽ファイル510をプレーヤ固有のデータに変換することができる。未知のプレーヤ504がSMAFプレーヤである場合、ファイルパーサ502はMIDIデータ524をSMAFフォーマットに変換することができる。代替的に、または追加として、変換モジュール516によって音楽ファイル510をプレーヤ固有のフォーマットに変換する。また、ファイルパーサ502は、シンセサイザ505がマルチリージョン機器542をサポートするかどうかなど、シンセサイザ505の関係するパラメータを変換モジュール516に通知する。] [0036] 第2に、変換モジュール516中のリージョンコンバータ520は、マルチリージョン機器定義542をシングルリージョン機器定義548にマッピングする。これは、元の機器定義534中でマッピングされたリージョンと同じパラメータ537を有する新しいシングルリージョン機器定義548を作成することを含む。言い換えれば、リージョンコンバータ520は、マルチリージョン機器定義534中にある全リージョンと同じ数の新しいシングルリージョン機器定義548を作成する。例えば、ユーザ定義機器データ526中に5つの機器定義534があり、各機器定義534が2つのリージョン536を有する場合、リージョンコンバータ520は10個のシングルリージョン機器定義548を作成する。これらの新しいシングルリージョン機器定義548は、メモリまたは他の適切な記憶媒体546に記憶できる。マルチリージョン機器定義534中のリージョン536と同じパラメータ537をシングルリージョン機器定義548中に維持することができる。] [0037] 第3に、リージョンコンバータ520は、まだユーザ定義機器データ526中で使用されていない機器番号545を割り当てる。これは、ユーザ定義機器データ526から1つまたは複数の番号を再使用することを含むことができる。リージョンコンバータ520は、このマッピングを行うために、テーブル544または何らかの他のデータ構造を利用することができる。例えば、テーブル544は、図示のように、マルチリージョン機器番号530をシングルリージョン機器番号545にマッピングすることができ、機器1のリージョン1を新しい機器1にマッピングし、機器1のリージョン2を新しい機器2にマッピングし、機器2のリージョン1を機器3にマッピングし、機器2のリージョン2を機器4にマッピングし、機器3のリージョン1を機器5にマッピングする。1つまたは複数のマルチリージョン機器番号530はシングルリージョン機器番号545として再使用できること、例えば、マルチリージョン機器1のリージョン1はシングルリージョン機器1にマッピングできることに留意されたい。MIDIは機器番号0〜127をのみサポートするので、このマッピングはサポートされる機器番号530のすべてを使用することがある。利用可能な機器番号530がバンク中にない場合、機器の新しいバンクを作成し、同じ手順に従うことができる。マッピングおよび機器番号530割当ては、システム500において1回だけ行われる。] [0038] 第4に、リージョントランスレータ518によってMIDIデータ524を調整する。これは、新しい機器番号545が割り当てられた機器を使用するMIDIノート528を探索することを含む。ノート528がノートオンまたはノートオフメッセージである場合、ノート528がシンセサイザ505に送られる前にプログラム変更コマンド519を挿入する。例えば、リージョントランスレータ518が、以前2つのシングルリージョン機器0x10および0x20にマッピングされていた、機器0x10の第2のリージョンに対するノートオンメッセージを発見した場合、リージョントランスレータ518は、ノート528を送る前にプログラム変更コマンド519を0x20に送ることができる。しかしながら、連続するノートオンメッセージ528のための別のプログラム変更コマンド519を同じリージョン536に送る必要はない。同様に、連続するノートオンメッセージ528のための別のプログラム変更コマンド519を同じリージョン536に送る必要はない。さらに、ノート528によって使用されるマッピングされたシングルリージョン機器定義548が機器の異なるバンク中にある場合、ノートオンまたはノートオフメッセージ528の前にバンク変更コマンド519を送ることができる。チャネルボリュームのようなチャネル固有のメッセージの場合、元の機器534がプレイされているすべてのチャネルに対してメッセージ528を反映するために、同じメッセージ528を複数回繰り返すことができる。] [0039] 最後に、シングルリージョン機器定義548とMIDIデータ524とを調整された音楽ファイル550に統合する。調整された音楽ファイル550は、シンセサイザ505が未知の出力512を生成するために直接使用するシンセサイザ固有のフォーマットとすることができる。同様に、既知の出力514を生成するために既知のプレーヤ508によってプレイされる前に音楽ファイル510を変換することができる。1つの構成では、ファイルパーサ502ではなく変換モジュール516は、MIDIデータ524をプレーヤ固有のMIDIデータに変換し、ユーザ定義機器データ526をプレーヤ固有のユーザ定義機器データに変換し、それらを調整された音楽ファイル550に統合する。プレーヤ固有のMIDIデータは変更コマンドを含むことができ、プレーヤ固有のユーザ定義機器データはシングルリージョン機器定義548を含むことができる。] [0040] システム500がノートまたはファイルごとに動作することができることに留意されたい。ノートごとの動作では、シングルリージョン機器定義548をマッピングし、保存し、次いで、すべてのMIDIノート528が探索される前に、各MIDIノート528を適用可能な変更コマンド519とともにシンセサイザ505に送る。代替的に、または追加として、すべてのMIDIノート528を探索し、MIDIノート528がシンセサイザ505に送られる前に、適用可能なプログラム変更コマンド519をMIDIデータ524に挿入する。] [0041] 図6は、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステム600の別の構成を例示するブロック図である。前述のように、MIDIデータ624とユーザ定義機器データ626とを含む音楽ファイル610は、変換モジュール616を使用して調整される。MIDIデータ624はMIDIノート628を含むことができ、各MIDIノート628は、特にノート628の機器番号630とノート628のキー番号632とを含む。ユーザ定義機器データ626は、機器定義634に関連する1つまたは複数のリージョン636と機器番号630とを含む機器定義634を含むことができる。各リージョン636は、ルートノートや波形などの他のパラメータ637を含むことができる。] 図6 [0042] 変換モジュール616中のリージョンコンバータ620は、音楽ファイル610中のマルチリージョン機器634をシングルリージョン機器定義648にマッピングすることができる。リージョンコンバータ620は、テーブル644または他のデータ構造を使用して、各シングルリージョン機器648に新しい機器番号645を割り当てることができる。さらに、各シングルリージョン機器中のリージョン636は、音楽ファイル610中に含まれるパラメータと同じパラメータ637を含むことができる。] [0043] リージョントランスレータ618は、新たにマッピングされた機器648を使用するノート628の前に挿入できる、プログラム変更コマンドやバンク変更コマンドなどの変更コマンド619を含むことができる。例えば、リージョントランスレータ618が、以前2つのシングルリージョン機器0x10および0x20にマッピングされていた、機器0x10の第2のリージョンに対するノートオンメッセージを発見した場合、リージョントランスレータ618は、ノート628を送る前にプログラム変更コマンド619を0x20に送ることができる。] [0044] 変換モジュール616は、MIDIデータ624をプレーヤ固有のMIDIデータ625に変換し、ユーザ定義機器データ626をプレーヤ固有のユーザ定義機器データ627に変換し、それらを調整された音楽ファイル650に統合することができる。プレーヤ固有のMIDIデータ625は、適切な場合、挿入される変更コマンド619を含むことができ、プレーヤ固有のユーザ定義機器データ627は、新しい機器番号645をもつシングルリージョン機器定義648を含むことができる。調整された音楽ファイル650はまた、メモリ646または別の適切な記憶媒体に記憶できる。] [0045] 次いで、調整された音楽ファイル650を、さもなければマルチリージョン機器634をサポートすることができない未知のプレーヤ604に送ることができる。しかしながら、変換モジュール616を用いて、未知の出力612を、既知のプレーヤ608からの既知の出力614と類似にすることができる。ここでは、未知のプレーヤ604が調整されたファイル650をプレイする前に、調整された音楽ファイル650全体を統合し、保存する、ファイルごとの動作が示されていることに留意されたい。しかしながら、システム600はノートごとに動作することもできる。言い換えれば、調整された音楽ファイル650を未知のプレーヤ604に送る前に、MIDIデータ624中のすべての適用可能な変更コマンド619を挿入するのではなく、変換モジュール616は、ノート628を受け取り、ノート628に対する適用可能な変更コマンド619を挿入しながら、ノート628を未知のプレーヤ604に送ることができる。] [0046] 図7は、オーディオプレーヤにおいてマルチリージョン機器サポートを提供するための方法700を例示する流れ図である。例えば、本方法を実装して、さもなければマルチリージョン機器634をサポートすることができない未知のプレーヤ604が、マルチリージョン機器634をもつ音楽ファイル610をプレイすることを可能にすることができる。方法700は変換モジュール616によって実行できる。変換モジュール616は、ユーザ定義機器634のセット中の少なくとも1つのマルチリージョン機器634を識別(752)する。モジュール616は、次いで、各マルチリージョン機器634の各リージョン636を、リージョン636と同じパラメータ637をもつシングルリージョン機器648にマッピング(754)する。] 図7 [0047] モジュール616は、次いで、各シングルリージョン機器648に新しい機器番号645を割り当てる(756)。新しい機器番号645は、マルチリージョン機器634の1つまたは複数の機器番号630を再使用することができ、例えば、マルチリージョン機器1のリージョン1をシングルリージョン機器1にマッピングすることができる。利用可能な機器番号630がバンク中にない場合、機器の新しいバンクを作成し、同じ手順に従うことができる。] [0048] 次に、マッピング754および割当て756に基づいてMIDIデータ624を修正(758)する。言い換えれば、プレーヤ604またはシンセサイザ605が正しいシングルリージョン機器定義648を、受け取ったノート628に関連付けることを可能にするために、MIDIデータ624を修正することができる。この修正758は、1つまたは複数のノート628の前に変更コマンド619を挿入することを含むことができる。例えば、変換モジュール616が、以前2つのシングルリージョン機器0x10および0x20にマッピングされていた、機器0x10の第2のリージョン636に対するノートオンメッセージを発見した場合、変換モジュール616は、ノート628を送る前にプログラム変更コマンド619を0x20に送ることができる。最後に、マッピングされたシングルリージョン機器648と修正MIDIデータ624とをプレーヤ固有である調整された音楽ファイル650に統合(760)する。これは、MIDIデータ624をプレーヤ固有のMIDIデータ625に変換し、ユーザ定義機器データ626をプレーヤ固有のユーザ定義機器データ627に変換してから、それらを調整された音楽ファイル650に統合することを含むことができる。] [0049] 上記の図7の方法700は、図7Aに示すミーンズプラスファンクションブロック700Aに対応する様々なハードウェア、および/または1つまたは複数のソフトウェア構成要素、および/または1つまたは複数のモジュールによって実行される。言い換えれば、図7に示すブロック752〜760は、図7Aに示すミーンズプラスファンクションブロック752A〜760Aに対応する。] 図7 図7A [0050] 図8は、オーディオプレーヤにおいて可変ルートノートサポートを提供するためのシステム800を例示するブロック図である。これは、さもなければ可変ルートノート862をサポートしないであろう未知のプレーヤ804の内部でMIDIデータ824を調整する変換モジュール816を含むことができる。DLSなど、いくつかのファイルフォーマットは、ユーザが、機器リージョン836中の任意のノート828を、そのリージョン836のルートノート862として定義できるようにすることができる。ルートノート862は、修正されていない波形864が関連付けられるノートとすることができる。言い換えれば、ルートノート862がプレイされるように選択された場合、未知のプレーヤ804は、リージョン836に関連する波形864をピッチ修正なしに出力することができる。しかしながら、非ルートノートがプレイされるように選択された場合、所望の出力を達成するために波形864のピッチを変更することができる。また、ルートノート862の場合でも、波形864に対する変調または他の非ピッチ修正があることがある。例えば、以下で説明するように、様々なサンプリング周波数を捕らえるために波形864をリサンプリングすることができる。] 図8 [0051] 音楽ファイル810は、MIDIノート828を含むMIDIデータ824を含むことができ、各MIDIノート828は、機器番号830とキー番号832とをもつ。機器番号830は、シンセサイザ805を、機器を表すために使用されるパラメータのセットに関連付けることができる。キー番号832は、ノート828のピッチを示す番号とすることができ、例えば、中央Cはキー番号832の「60」で表すことができ、本明細書ではキー番号を「N」で示す。] [0052] 音楽ファイル810はまた、機器定義834を含むユーザ定義機器データ826を含むことができ、各機器定義834は、1つまたは複数のリージョン836をもつ。ユーザ定義ルートノート(RN)862は、修正されていない波形864が関連付けられるノートとすることができる。各波形864は、波形864がサンプリングされたサンプリング周波数(Fw)866を有することができる。] [0053] MIDIプレーヤ838の出力サンプリング周波数(Fs)868が、プレイすべきノート828の波形864のサンプリング周波数(Fw)866と異なる場合、MIDIプレーヤ838は波形864をリサンプリングすることができる。リサンプリング比はFw/Fsとすることができる。特定のリージョン836中の非ルートノートをプレイするとき、MIDIプレーヤ838は波形864をリサンプリングすることができる。したがって、ユーザ定義ルートノート862をサポートするMIDIプレーヤ838のリサンプリング比は、以下によって与えられる。] [0054] 一般に、MIDIプレーヤ838がリサンプリングに起因するひずみを最小限に抑えることができるように、プレイされているMIDIノート828をルートノート862の周りに集中させることができる。リサンプリングはシンセサイザ805において行うことができる。] [0055] しかしながら、ウェーブテーブル合成を使用してユーザ定義機器834をサポートするいくつかのオーディオプレーヤ804は、ユーザ定義ルートノート862をサポートすることができない。代わりに、プレーヤ804は固定のルートノート(RP)872を使用することができる。固定のルートノート(RP)872は、機器定義834中に記述されず、どこかに保存されるのではなく、プレーヤ804に内部にあり、例えば、RP872はシンセサイザ805のプロパティとすることができる。未知のプレーヤ804が固定のルートノート872以外のMIDIノート828をプレイする場合、以下の式に従って波形864をリサンプリングすることができる。] [0056] 未知のプレーヤ804においてユーザ定義機器834をサポートするために、機器834をプレーヤ固有のフォーマットにマッピングすることができる。未知のプレーヤ804はユーザ定義ルートノート862ではなく固定のルートノート872を使用するので、有効リサンプリング比が同じままであるようにキー番号(N)832を調整することができる。] [0057] ファイルパーサ802は音楽ファイル810に対応することができる。例えば、音楽ファイル810がXMFファイルである場合、ファイルパーサ802はXMFパーサとすることができる。ファイルパーサ802は、音楽ファイル810をプレーヤ固有のデータに変換することができる。詳細には、MIDIプレーヤ838は、MIDIデータ824をプレーヤ固有のMIDIデータ825に変換することができる。同様に、ユーザ定義機器パーサ840も、ユーザ定義機器データ826を、後でプレーヤ固有のMIDIデータ825に統合できるプレーヤ固有のユーザ定義機器データ827に変換することができる。] [0058] また、ファイルパーサ802は、シンセサイザ805の関係するパラメータを変換モジュール816に通知することができる。例えば、パーサ802は、各MIDI機器834の固定のルートノート872に関する情報を含むことができる。同様に、MIDIプレーヤ838は、出力サンプリング周波数(Fs)868に関する情報を含むことができる。] [0059] ユーザ定義機器パーサ840は、機器定義834からユーザ定義ルートノート862のアレイを抽出し、メモリまたは別の適切な記憶媒体846に記憶することができる。変換モジュール816は、ルートノート862のアレイを使用して、MIDIデータ824中のキー番号(N)832を調整することができる。代替的に、ルートノート862を任意のタイプのデータ構造として記憶することができる。] [0060] ノートトランスレータ822中のキー番号ジェネレータ874は、次いで、リサンプリングの後でも正しいピッチがプレイされるように、各MIDIノート828の新しいキー番号(N’)870を発生することができる。例として、ユーザ定義ルートノート(RN)862をもつ機器リージョン上のノート(N)828をプレイしようとしていると仮定する。さらに、プレーヤ固有のファイルフォーマットが固定のルートノート(RP)872を用いると仮定する。変換モジュール816がなければ、MIDIプレーヤ838は、2^(N−RN)/12*Fw/Fsのリサンプリング比を採用しようとする。しかしながら、未知のプレーヤ804が固定のルートノート872をのみサポートするので、MIDIプレーヤ838は、代わりに2^(N−RP)/12*Fw/Fsのリサンプリング比を採用する。これは、ピッチ差をもたらし、したがって、未知の出力812は既知の出力814とは異なって聞こえる。] [0061] これを緩和するために、プレーヤ固有のファイルフォーマットを書き込みながら、ノートトランスレータ822は、使用されるリサンプリング比が前と同じになるように、MIDIノート828のキー番号(N)832をずらすことができる。ノートトランスレータ822は、音楽ファイル810中のキー番号(N)832を新しいキー番号(N’)870と交換することができ、N’=N+RP−RNである。この新しいキー番号(N’)870を使用して、ノートトランスレータ822が採用するリサンプリング比は、] [0062] であり、これは、] [0063] と等価であり、これは、所要のリサンプリング比である] [0064] と等価である。したがって、ノートトランスレータ822において計算された新しいキー番号(N’)870を、MIDIノート828のキー番号(N)832と置換することによって、式(5)に示すように、リサンプリング比を自動的に調整することができる。] [0065] 次いで、プレーヤ固有のMIDIデータ825とプレーヤ固有のユーザ定義機器データ827とを調整された音楽ファイル850に統合することができる。次いで、調整された音楽ファイル850を、さもなければユーザ定義ルートノート862をサポートすることができない未知のプレーヤ804に送ることができる。しかしながら、変換モジュール816を用いて、未知の出力812を、既知のプレーヤ808からの既知の出力814と類似にすることができる。] [0066] システム800がノートまたはファイルごとに動作することができることに留意されたい。ノートごとの動作では、ノートトランスレータ822が各ノート828を受け取るときに新しいキー番号(N’)870を決定し、次いで、すべてのMIDIノート828が調整される前に、各MIDIノート828を新しいキー番号(N’)870とともにシンセサイザ805に送ることができる。代替的に、または追加として、MIDIノート828がシンセサイザ805に送られる前に、すべてのMIDIノート828を新しいキー番号(N’)870で調整することができる。] [0067] 図9は、オーディオプレーヤにおいて可変ルートノートサポートを提供するためのシステム900の別の構成を例示するブロック図である。前述のように、MIDIデータ924とユーザ定義機器データ926とを含む音楽ファイル910は、変換モジュール916を使用して調整できる。MIDIデータ924はMIDIノート928を含むことができ、各MIDIノート928は、特にノート928の機器番号930とノート928のキー番号(N)932とを含む。ユーザ定義機器データ926は、1つまたは複数のリージョン936を含む機器定義934を含むことができる。各リージョン936は、ルートノート(RN)962、およびサンプリング周波数(Fw)966をもつ波形964など、他のパラメータを含むことができる。] 図9 [0068] 変換モジュール916中のノートトランスレータ922は、N932、RP972、および−RN962を合計するキー番号ジェネレータ974を使用して、新しいキー番号(N’)970を発生することができ、RP972は、各ノート928によって使用される機器934の固定のルートノート972である。ユーザ定義ルートノート(RN)962のアレイは、メモリまたは他の適切な記憶媒体946に記憶できる。さらに、変換モジュール916は、固定のルートノート(RP)972を決定するために未知のプレーヤ904と通信することができる。] [0069] 変換モジュール916は、MIDIデータ924をプレーヤ固有のMIDIデータ925に変換し、ユーザ定義機器データ926をプレーヤ固有のユーザ定義機器データ927に変換し、それらを調整された音楽ファイル950に統合することができる。プレーヤ固有のMIDIデータ925は、キー番号(N)932の代わりに新しいキー番号(N’)970を含むことができる。調整された音楽ファイル950は、同じくメモリまたは別の適切な記憶媒体946に記憶できる。] [0070] 次いで、調整された音楽ファイル950を、さもなければユーザ定義ルートノート962をサポートすることができない未知のプレーヤ904に送ることができる。しかしながら、変換モジュール916を用いて、未知の出力912を、既知のプレーヤ908からの既知の出力914と類似にすることができる。ここでは、未知のプレーヤ904が調整されたファイル950をプレイする前に、調整された音楽ファイル950全体を統合し、保存する、ファイルごとの動作が示されていることに留意されたい。しかしながら、システム900はノートごとに動作することもできる。言い換えれば、調整された音楽ファイル950を未知のプレーヤ904に送る前に、MIDIデータ924中のすべてのキー番号(N)932を新しいキー番号(N’)970と交換するのではなく、変換モジュール916は、ノート924を受け取り、キー番号(N)932を新しいキー番号(N’)970と交換しながら、ノート924を未知のプレーヤ904に送ることができる。] [0071] 図10は、オーディオプレーヤにおいて可変ルートノートサポートを提供するための方法1000を例示する流れ図である。例えば、方法1000を実装して、さもなければユーザ定義ルートノート962をサポートすることができない未知のプレーヤ904が、ユーザ定義ルートノート962をもつ音楽ファイル910をプレイすることを可能にすることができる。方法1000は変換モジュール916によって実行できる。変換モジュール916は、MIDIデータ924とユーザ定義機器934とをもつ音楽ファイル910を受け取る(1076)。次いで、機器定義934をプレーヤ固有の定義927に変換(1078)する。変換モジュール916は、各機器934のユーザ定義ルートノート962をアレイなどのデータ構造に記憶(1080)する。各ノートのN932、RP972、およびRN962を使用して新しいキー番号(N’)970を決定(1081)し、例えば、N’=N+RP−RNである。変換モジュール916は、次いで、新しいキー番号(N’)970に基づいてMIDIデータ924中の1つまたは複数のノート928を調整(1082)する。言い換えれば、キー番号(N)932を新しいキー番号(N’)970と交換する。次いで、MIDIデータ924をプレーヤ固有のMIDIデータ925に変換(1084)する。最後に、プレーヤ固有のMIDIデータ925とプレーヤ固有の機器定義927とを調整された音楽ファイル950に統合(1086)する。] 図10 [0072] 上記の図10の方法1000は、図10Aに示すミーンズプラスファンクションブロック1000Aに対応する様々なハードウェア、および/または1つまたは複数のソフトウェア構成要素、および/または1つまたは複数のモジュールによって実行される。言い換えれば、図10に示すブロック1076〜1086は、図10Aに示すミーンズプラスファンクションブロック1076A〜1086Aに対応する。] 図10 図10A [0073] 図11は、オーディオプレーヤにマルチリージョン機器サポートおよび可変ルートノートサポートを提供するためのシステム1100を例示するブロック図である。前述のように、MIDIデータ1124とユーザ定義機器データ1126とを含む音楽ファイル1110は、変換モジュール1116を使用して調整できる。MIDIデータ1124はMIDIノート1128を含むことができ、各MIDIノート1128は、特にノート1128の機器番号1130とノート1128のキー番号(N)1132とを含む。ユーザ定義機器データ1126は、機器定義1134に関連する1つまたは複数のリージョン1136と機器番号1130とを含む機器定義1134を含むことができる。各リージョン1136は、ルートノート(RN)1162、およびサンプリング周波数(Fw)1166をもつ波形1164など、他のパラメータを含むことができる。] 図11 [0074] 最初に、変換モジュール1116は、音楽ファイル1110中のマルチリージョン機器1134をシングルリージョン機器定義1148にマッピングすることができる。リージョンコンバータ1120は、テーブル1144または他のデータ構造を使用して、各シングルリージョン機器1148に新しい機器番号1145を割り当てることができる。さらに、各シングルリージョン機器1148中のリージョン1136は、音楽ファイル1110中に含まれるルートノートおよび波形と同じルートノート1162および波形1164を含むことができる。] [0075] リージョントランスレータ1118は、新たにマッピングされた機器1148を使用するノート1128の前に挿入できる、プログラム変更コマンドやバンク変更コマンドなどの変更コマンド1119を含むことができる。挿入された変更コマンド1119をもつMIDIデータ1124を、シングルリージョン機器1148とともに、調整された音楽ファイル1150に統合し、メモリまたは別の適切な記憶媒体1146に記憶することができる。] [0076] 次に、ノートトランスレータ1122は、N1132、RP1172、および−RN1162を合計するキー番号ジェネレータ1174を使用して、新しいキー番号(N’)1170を発生することができ、RP1172は、各ノート1128によって使用される機器の固定のルートノート1172である。言い換えれば、N’=N+RP−RNである。すべてのリージョンを表すユーザ定義ルートノート(RN)1162のアレイは、メモリまたは他の適切な記憶媒体1146に記憶できる。さらに、変換モジュール1116は、固定のルートノート(RP)1172を決定するために未知のプレーヤ1104と通信することができる。] [0077] 変換モジュール1116は、MIDIデータ1124をプレーヤ固有のMIDIデータ1125に変換し、ユーザ定義機器データ1126をプレーヤ固有のユーザ定義機器データ1127に変換し、それらを調整された音楽ファイル1150に統合することができる。プレーヤ固有のMIDIデータ1125は、キー番号(N)1132の代わりに新しいキー番号(N’)1170ならびに変更コマンド1119を含むことができる。プレーヤ固有のユーザ定義機器データ1127は、新しい機器番号1145をもつシングルリージョン機器定義1148を含むことができる。調整された音楽ファイル1150は、同じくメモリまたは別の適切な記憶媒体1146に記憶できる。] [0078] 次いで、調整された音楽ファイル1150を、さもなければマルチリージョン機器1134またはユーザ定義ルートノート1162をサポートすることができない未知のプレーヤ1104に送ることができる。しかしながら、変換モジュール1116を用いて、未知の出力1112を、既知のプレーヤ1108からの既知の出力1114と類似にすることができる。ここでは、未知のプレーヤ1104が調整されたファイル1150をプレイする前に、調整された音楽ファイル1150全体を統合し、メモリ1146に保存する、ファイルごとの動作が示されていることに留意されたい。しかしながら、システム1100はノートごとに動作することもできる。言い換えれば、調整された音楽ファイル1150を未知のプレーヤ1104に送る前に、MIDIデータ1124およびユーザ定義機器データ1126を調整するのではなく、変換モジュール1116は、ノート1128を受け取り、それらを調整しながら、ノート1128を未知のプレーヤ1104に送ることができる。] [0079] 図12は、オーディオプレーヤにマルチリージョン機器サポートおよび可変ルートノートサポートを提供するための方法1200を例示する流れ図である。例えば、方法1200を実装して、さもなければマルチリージョン機器1134またはユーザ定義ルートノート1162をサポートすることができない未知のプレーヤ1104が、マルチリージョン機器1134とユーザ定義ルートノート1162とをもつ音楽ファイル1110をプレイすることを可能にすることができる。方法1200は変換モジュール1116によって実行できる。方法1200の第1の部分は、マルチリージョンサポートを提供することを対象とすることができる。したがって、変換モジュール1116は、MIDIデータ1124とユーザ定義機器データ1126とを含む音楽ファイル1110中の少なくとも1つのマルチリージョン機器1134を識別(1290)する。モジュール1116は、次いで、マルチリージョン機器1134の各リージョン1136を、リージョン1136と同じパラメータをもつシングルリージョン機器1148にマッピング(1291)する。これらのパラメータは、ルートノート1162とサンプリング周波数1166をもつ波形1164とを含むことができる。] 図12 [0080] モジュールは、次いで、各シングルリージョン機器1148に新しい機器番号1145を割り当てる(1292)。新しい機器番号1145は、マルチリージョン機器1134の機器番号1130を再使用しても再使用しなくてもよく、例えば、マルチリージョン機器1のリージョン1をシングルリージョン機器1にマッピングすることができる。利用可能な機器番号1130がバンク中にない場合、機器の新しいバンクを作成し、同じ手順に従うことができる。] [0081] 次に、マッピング1291および割当て1292に基づいてMIDIデータ1124を修正(1293)する。言い換えれば、プレーヤ1104またはシンセサイザが正しいシングルリージョン機器定義1148を、受け取ったノート1128に関連付けることを可能にするために、MIDIデータ1124を修正(1293)する。この修正1293は、1つまたは複数のノート1128の前に変更コマンド1119を挿入することを含むことができる。例えば、変換モジュール1116が、以前2つのシングルリージョン機器0x10および0x20にマッピングされていた、機器0x10の第2のリージョン1136に対するノートオンメッセージを発見した場合、変換モジュール1116は、ノート1128を送る前にプログラム変更コマンド1119を0x20に送ることができる。] [0082] 次いで、方法1200の残りのステップにおいて、ユーザ定義ルートノート1162をサポートするように音楽ファイル1110を修正することができる。最初に、機器定義1134をプレーヤ固有の定義1127に変換(1294)する。変換モジュール1116は、各機器1134のユーザ定義ルートノート1162をアレイなどのデータ構造に記憶(1295)する。変換モジュール1116は、各機器1134のユーザ定義ルートノート1162をアレイなどのデータ構造に記憶(1295)する。各ノート1128のN1132、RP1172、およびRN1162を使用して新しいキー番号(N’)1170を決定(1296)し、例えば、N’=N+RP−RNである。変換モジュール1116は、次いで、新しいキー番号(N’)1170に基づいてMIDIデータ1124中の1つまたは複数のノート1128を調整(1297)する。言い換えれば、キー番号(N)1132を新しいキー番号(N’)1170と交換する。次いで、MIDIデータ1124をプレーヤ固有のMIDIデータ1125に変換(1298)する。最後に、プレーヤ固有のMIDIデータ1125とプレーヤ固有の機器定義1127とを調整された音楽ファイル1150に統合(1299)する。] [0083] 上記の図12の方法1200は、図12Aに示すミーンズプラスファンクションブロック1200Aに対応する様々なハードウェア、および/または1つまたは複数のソフトウェア構成要素、および/または1つまたは複数のモジュールによって実行される。言い換えれば、図12に示すブロック1290〜1299は、図12Aに示すミーンズプラスファンクションブロック1290A〜1299Aに対応する。] 図12 図12A [0084] 図13は、コンピューティングデバイス/電子デバイス1302において利用できる様々な構成要素を例示するブロック図である。コンピューティングデバイス/電子デバイス1302は、音楽ファイル310を処理することが可能な任意のデバイス、例えば、速度トランスレータ、未知のプレーヤ304、または既知のプレーヤ308を実装することができる。したがって、ただ1つのコンピューティングデバイス/電子デバイス1302が示されているが、本明細書の構成は、多くのコンピュータシステムを使用する分散システムに実装できる。コンピューティングデバイス/電子デバイス1302は、マイクロコントローラ、ハンドヘルドコンピュータ、パーソナルコンピュータ、サーバ、メインフレーム、スーパーコンピュータ、ミニコンピュータ、ワークステーション、およびその変形体または関連するデバイスを含む広範囲のデジタルコンピュータを含むことができる。] 図13 [0085] コンピューティングデバイス/電子デバイス1302はプロセッサ1301およびメモリ1303とともに示されている。プロセッサ1301は、コンピューティングデバイス/電子デバイス1302の動作を制御することができ、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)または当技術分野で知られている他のデバイスとして具現できる。プロセッサ1301は一般に、メモリ1303内に記憶されたプログラム命令1304に基づいて、論理および演算動作を実行する。メモリ1303中の命令1304は、本明細書で説明する方法を実装するように実行可能である。] [0086] コンピューティングデバイス/電子デバイス1302はまた、他の電子デバイスと通信するための1つまたは複数の通信インターフェース1307および/またはネットワークインターフェース1313を含むことができる。(1つまたは複数の)通信インターフェース1307および(1つまたは複数の)ネットワークインターフェース1313は、有線通信技術、ワイヤレス通信技術、または両方に基づくことができる。] [0087] コンピューティングデバイス/電子デバイス1302はまた、1つまたは複数の入力デバイス1309と1つまたは複数の出力デバイス1311とを含むことができる。入力デバイス1309および出力デバイス1311は、ユーザ入力を可能にすることができる。コンピューティングデバイス/電子デバイス1302の一部として他の構成要素1315を設けることもできる。] [0088] データ1306および命令1304はメモリ1303に記憶できる。プロセッサ1301は、様々な機能を実装するために、メモリ1303から命令1304をロードし、実行することができる。命令1304を実行することは、メモリ1303に記憶されたデータ1306の使用を含むことができる。命令1304は、本明細書で示されるプロセスまたは構成のうちの1つまたは複数を実装するように実行可能であり、データ1306は、本明細書で説明する様々なデータの1つまたは複数を含むことができる。] [0089] メモリ1303は、電子情報を記憶することが可能な任意の電子構成要素とすることができる。メモリ1303は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、磁気ディスク記憶装置媒体、光記憶媒体、RAM中のフラッシュメモリデバイス、プロセッサに含まれるオンボードメモリ、EPROMメモリ、EEPROMメモリ、ASIC(特定用途向け集積回路)、レジスタなどとして具現でき、それらの組合せを含む。] [0090] さらに、メモリ1303は、一般的なMIDI機器用の基本波形を含むウェーブテーブル1308を記憶することができる。メモリ1303はまた、オーディオデバイス固有のフォーマットに変換するために必要とされる比較データとマッピングテーブルとを含むデータテーブル1310を記憶することができる。例えば、ウェーブテーブル1308が、128個の機器と47個のドラムを含む場合、データテーブル1310は、ボリューム変更などを補償するための128プラス47セットの比較データと所要のマッピングテーブルとを含むことができる。] [0091] コンピューティングデバイス/電子デバイス1302を最初に生成するとき、データテーブル1310に記憶されたデータ1306を発生し、データテーブル1310にロードすることができる。代替的に、既存のコンピューティングデバイス/電子デバイス1302にダウンロードされるソフトウェア更新によってデータテーブル1310をロードすることができる。] [0092] 代替的に、または追加として、命令1304をロードし、実行するために、並列に動作することができる2つ以上のプロセッサ1301が存在することができる。これらの命令1304は、音楽ファイル310をパースすることと、音楽ファイル310内のMIDIイベントまたはメッセージをスケジュールすることとを含むことができる。スケジュールされたMIDIイベントを、音楽ファイル310中のタイミングパラメータによって指定されたように、同期方式でプロセッサ1301によって処理することができる。プロセッサ1301は、MIDI合成パラメータを発生するために、時間同期スケジュールに従ってMIDIイベントを処理することができる。プロセッサ1301はまた、合成パラメータに基づいてオーディオサンプルを発生することができる。] [0093] コンピューティングデバイス/電子デバイス1302はまた、デジタルアナログ変換器(DAC)1312を含むことができる。プロセッサ1301は、MIDI合成パラメータのセットに基づいてオーディオサンプルを発生することができる。オーディオサンプルは、一定の間隔をおいてサンプリングされるアナログ信号のデジタル表現であるパルス符号変調(PCM)サンプルを備えることができる。プロセッサ1301は、オーディオサンプルをDAC1312に出力することができる。DAC1312は、次いで、デジタルオーディオ信号をアナログ信号に変換し、アナログ信号を駆動回路1314に出力することができ、駆動回路1314は、可聴音を作成するために、信号を増幅して1つまたは複数のスピーカ1316を駆動することができる。代替的に、コンピューティングデバイス/電子デバイス1302は、スピーカ1316、駆動回路1314、またはDAC1312を有しないことがある。] [0094] コンピューティングデバイス/電子デバイス1302が音楽ファイル310を受け取ると、プロセッサ1301は、音楽ファイル310をパースし、ダウンロード可能な音声(DLS)があるかどうかを検出する。コンピューティングデバイス/電子デバイス1302は、音楽ファイル310内のダウンロード可能な音声を分析する前に、音楽ファイル310に関連するフレームのすべてを受け取るのを待つことができる。ダウンロード可能な音声が音楽ファイル310内で検出されない場合、プロセッサ1301は、音楽ファイル310内のMIDIデータを処理し、MIDIコマンドの一部または全部を変換するが、プロセッサ1301には制限がある。例えば、プロセッサ1301は、マルチリージョン機器またはユーザ定義ルートノートを正しく変換することができない。] [0095] しかしながら、ダウンロード可能な音声が検出されると、プロセッサ1301は、ダウンロード可能な音声(DLS)データのパラメータを、パラメータおよび内部プレーヤ詳細に対するデバイス制限と比較することによってDLSデータを分析する。この分析に基づいて、プロセッサ1301は、次いで、プレイすべき機器の1つまたは複数をデバイス固有のパラメータにマッピングする。プロセッサ1301はまた、対応する音楽ファイル310を修正することができる。特に、プロセッサ1301は、ウェーブテーブル1308から、選択された機器に対応する波形サンプルを選択することができる。コンピューティングデバイス/電子デバイス1302は、次いで、オーディオサンプルを発生し、オーディオサンプルをDAC1312に送ることによって続ける。DAC1312の出力は、駆動回路1314に進み、可聴音をプレイするために、最終的にスピーカ1316に進む。このようにして、コンピューティングデバイス/電子デバイス1302は、MIDIイベント/ノート音が、作成者が意図した音声にできるだけ近く聞こえるように、ダウンロード可能な音声の音声を最も良く近似する機器を選択することができる。] [0096] 上記の説明では、様々な用語とともに参照符号が時々使用されている。用語が参照符号とともに使用されている場合、1つまたは複数の図に示されている固有の要素を指すものとする。用語が参照符号なしに使用されている場合、特定の図に限定されない用語を指すものとする。] [0097] 本開示によれば、モバイルデバイス中の回路は、複数のタイプの圧縮オーディオビットストリームに関する信号変換コマンドおよび付随するデータを受け取るように適合できる。同じ回路、異なる回路、あるいは同じまたは異なる回路の第2のセクションは、複数のタイプの圧縮オーディオビットストリームのための信号変換の一部として変換を実行するように適合できる。第2のセクションは、有利には、第1のセクションに結合するか、または第1のセクションの回路と同じ回路に埋め込むことができる。さらに、同じ回路、異なる回路、あるいは同じまたは異なる回路の第3のセクションは、複数のタイプの圧縮オーディオビットストリームのための信号変換の一部として相補的な処理を実行するように適合できる。第3のセクションは、有利には、第1および第2のセクションに結合するか、または第1および第2のセクションの回路と同じ回路に埋め込むことができる。さらに、同じ回路、異なる回路、あるいは同じまたは異なる回路の第4のセクションは、上述の機能を与える(1つまたは複数の)回路、または(1つまたは複数の)回路の(1つまたは複数の)セクションの構成を制御するように適合できる。] [0098] 「決定」という用語は、多種多様な行為を包含し、したがって、「決定」は、計算、算出、処理、導出、調査、探索(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認などを含むことができる。また、「決定」は、受け取り(例えば、情報を受け取ること)、アクセス(例えば、メモリ中のデータにアクセスすること)などを含むことができる。また、「決定」は、解決、選択、選出、確立などを含むことができる。] [0099] 「に基づいて」という句は、別段に明示されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という句は、「のみに基づいて」と「に少なくとも基づいて」の両方を表す。] [0100] 「プロセッサ」という用語は、汎用プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状態機械などを包含するものと広く解釈されたい。いくつかの状況下では、「プロセッサ」は、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)などを指すことがある。「プロセッサ」という用語は、処理デバイスの組合せ、例えば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは他のそのような構成を指すことがある。] [0101] 「メモリ」という用語は、電子情報を記憶することが可能な任意の電子構成要素を包含するものと広く解釈されたい。メモリという用語は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、フラッシュメモリ、磁気または光学データ記憶装置、レジスタなど、様々なタイプのプロセッサ可読媒体を指すことがある。プロセッサがメモリから情報を読み取り、および/または情報をメモリに書き込むことができる場合、メモリはプロセッサと電子的に通信していると言われる。プロセッサに一体化されたメモリは、プロセッサと電子的に通信している。] [0102] 「命令」および「コード」という用語は、任意のタイプの(1つまたは複数の)コンピュータ可読ステートメントを含むものと広く解釈されたい。例えば、「命令」および「コード」という用語は、1つまたは複数のプログラム、ルーチン、サブルーチン、関数、プロシージャなどを指すことがある。「命令」および「コード」は、単一のコンピュータ可読ステートメントまたは多くのコンピュータ可読ステートメントを備えることができる。] [0103] 本明細書で説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装できる。ソフトウェアで実装した場合、機能は1つまたは複数の命令としてコンピュータ可読媒体上に記憶できる。「コンピュータ可読媒体」という用語は、コンピュータによってアクセスできる任意の媒体を指す。限定ではなく例として、コンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、あるいは命令またはデータ構造の形態で所望のプログラムコードを担持または記憶するために使用でき、コンピュータによってアクセスできる任意の他の媒体を備えることができる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。] [0104] ソフトウェアまたは命令はまた、送信媒体を介して送信できる。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、送信媒体の定義に含まれる。] [0105] 本明細書で開示する方法は、説明した方法を達成するための1つまたは複数のステップまたはアクションを備える。本方法のステップおよび/またはアクションは、特許請求の範囲の範囲から逸脱することなく互いに交換することができる。すなわち、本明細書で説明する方法の適切な動作のためにステップまたはアクションの特定の順序が必要とされない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲の範囲を逸脱することなく修正することができる。] [0106] さらに、図7、図10、および図12によって示されたものなど、本明細書で説明する方法および技法を実行するためのモジュールおよび/または他の適切な手段は、デバイスによってダウンロードおよび/または他の方法で取得できることを諒解されたい。例えば、デバイスは、本明細書で説明する方法を実行するための手段の転送を可能にするために、サーバに結合できる。代替的に、本明細書で説明する様々な方法は、記憶手段をデバイスに結合するかまたは与えるときにデバイスが様々な方法を獲得することができるように、記憶手段(例えば、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、コンパクトディスク(disc)(CD)またはフロッピーディスク(disk)などの物理的記憶媒体など)によって与えることができる。さらに、本明細書で説明する方法および技法をデバイスに与えるための任意の他の適切な技法を利用することができる。] 図10 図12 図7 [0107] 特許請求の範囲は、上記の正確な構成および構成要素に限定されないことを理解されたい。特許請求の範囲を逸脱することなく、本明細書に記載のシステム、方法および装置の構成、動作および詳細において、様々な改変、変更および変形を行うことができる。]
权利要求:
請求項1 オーディオプレーヤにおいて可変ルートノートサポートを提供するための方法であって、電子楽器デジタルインターフェース(MIDI)データとユーザ定義機器のセットとをもつファイルを受け取ることと、前記ユーザ定義機器におけるユーザ定義ルートノート、前記MIDIデータにおけるMIDIノートに対するキー番号、プレーヤ固有のルートノートを使用してメトリックを決定することと、前記メトリックに基づいて前記キー番号を調整することとを備える方法。 請求項2 前記調整することは、前記キー番号を前記メトリックと取り替えることを備える、請求項1記載の方法。 請求項3 前記決定することは、前記プレーヤ固有のルートノートと前記キー番号とを合計することと、前記ユーザ定義ルートノートを引くこととを備える、請求項1記載の方法。 請求項4 前記ファイルを前記MIDIデータと前記ユーザ定義機器とに解析することと、前記ユーザ定義機器をプレーヤ固有のユーザ定義機器に変換することと、前記MIDIデータをプレーヤ固有のMIDIデータに変換することと、前記プレーヤ固有のMIDIデータと前記プレーヤ固有のユーザ定義機器とをプレーヤ固有のコンテナフォーマットに統合することとをさらに備える、請求項1記載の方法。 請求項5 前記ファイルは、電子楽器デジタルインターフェース(MIDI)データとユーザ定義機器とをサポートするフォーマットの中にある、請求項1記載の方法。 請求項6 前記ユーザ定義機器のセットは、DownloadableSounds(DLS)ファイルである、請求項1記載の方法。 請求項7 すべてのユーザ定義機器におけるすべてのリージョンの前記ルートノートを記憶することをさらに備える請求項1記載の方法。 請求項8 前記メトリックは、すべてのリージョンとすべての機器に対して決定される、請求項1記載の方法。 請求項9 前記MIDIデータにおけるすべてのノートの前記キー番号は調整される、請求項1記載の方法。 請求項10 オーディオプレーヤにおいて可変ルートノートサポートを提供するための装置であって、プロセッサと、前記プロセッサと電子的に通信するメモリと、前記メモリに記憶された命令であって、電子楽器デジタルインターフェース(MIDI)データとユーザ定義機器のセットとをもつファイルを受け取ることと、前記ユーザ定義機器におけるユーザ定義ルートノート、前記MIDIデータにおけるMIDIノートに対するキー番号、プレーヤ固有のルートノートを使用してメトリックを決定することと、前記メトリックに基づいて前記キー番号を調整することとを前記プロセッサによって実行可能な命令とを備える装置。 請求項11 前記調整することは、前記キー番号を前記メトリックと取り替えることを備える、請求項10記載の装置。 請求項12 前記決定することは、前記プレーヤ固有のルートノートと前記キー番号とを合計することと、前記ユーザ定義ルートノートを引くこととを備える、請求項10記載の装置。 請求項13 前記命令は、前記ファイルを前記MIDIデータと前記ユーザ定義機器とに解析することと、前記ユーザ定義機器をプレーヤ固有のユーザ定義機器に変換することと、前記MIDIデータをプレーヤ固有のMIDIデータに変換することと、前記プレーヤ固有のMIDIデータと前記プレーヤ固有のユーザ定義機器とをプレーヤ固有のコンテナフォーマットに統合することとをさらに実行可能である、請求項10記載の装置。 請求項14 前記ファイルは、電子楽器デジタルインターフェース(MIDI)データとユーザ定義機器とをサポートするフォーマットの中にある、請求項10記載の装置。 請求項15 前記ユーザ定義機器のセットは、DownloadableSounds(DLS)ファイルである、請求項10記載の装置。 請求項16 前記命令は、すべてのユーザ定義機器におけるすべてのリージョンの前記ルートノートを記憶することをさらに実行可能である、請求項10記載の装置。 請求項17 前記メトリックは、すべてのリージョンとすべての機器に対して決定される、請求項10記載の装置。 請求項18 前記MIDIデータにおけるすべてのノートの前記キー番号は調整される、請求項10記載の装置。 請求項19 オーディオプレーヤにおいて可変ルートノートサポートを提供するためのコンピュータプログラム製品であって、その上に命令を有するコンピュータ可読媒体を備え、前記命令は、楽器用デジタル(MIDI)データとユーザ定義機器のセットとをもつファイルを受け取るためのコードと、前記ユーザ定義機器におけるユーザ定義ルートノート、前記MIDIデータにおけるMIDIノートに対するキー番号、プレーヤ固有のルートノートを使用してメトリックを決定するためのコードと、前記メトリックに基づいて前記キー番号を調整するためのコードとを備える、コンピュータプログラム製品。 請求項20 前記調整するためのコードは、前記キー番号を前記メトリックと取り替えるためのコードを備える、請求項19記載のコンピュータプログラム製品。 請求項21 前記決定するためのコードは、前記プレーヤ固有のルートノートと前記キー番号とを合計するため、及び前記ユーザ定義ルートノートを引くためのコードを備える、請求項19記載のコンピュータプログラム製品。 請求項22 前記命令は、前記ファイルを前記MIDIデータと前記ユーザ定義機器とに解析するためのコードと、前記ユーザ定義機器をプレーヤ固有のユーザ定義機器に変換するためのコードと、前記MIDIデータをプレーヤ固有のMIDIデータに変換するためのコードと、前記プレーヤ固有のMIDIデータと前記プレーヤ固有のユーザ定義機器とをプレーヤ固有のコンテナフォーマットに統合するためのコードとをさらに備える、請求項19記載のコンピュータプログラム製品。 請求項23 オーディオプレーヤにおいて可変ルートノートサポートを提供するための装置であって、楽器用デジタル(MIDI)データとユーザ定義機器のセットとをもつファイルを受け取るための手段と、前記ユーザ定義機器におけるユーザ定義ルートノート、前記MIDIデータにおけるMIDIノートに対するキー番号、プレーヤ固有のルートノートを使用してメトリックを決定するための手段と、前記メトリックに基づいて前記キー番号を調整するための手段とを備える装置。 請求項24 調整するための前記手段は、前記キー番号を前記メトリックと取り替えるための手段をさらに備える、請求項23記載の装置。 請求項25 決定するための前記手段は、前記プレーヤ固有のルートノートと前記キー番号とを合計するため、及び前記ユーザ定義ルートノートを引くための手段をさらに備える、請求項23記載の装置。 請求項26 前記ファイルを前記MIDIデータと前記ユーザ定義機器とに解析するための手段と、前記ユーザ定義機器をプレーヤ固有のユーザ定義機器に変換するための手段と、前記MIDIデータをプレーヤ固有のMIDIデータに変換するための手段と、前記プレーヤ固有のMIDIデータと前記プレーヤ固有のユーザ定義機器とをプレーヤ固有のコンテナフォーマットに統合するための手段とをさらに備える、請求項23記載の装置。 請求項27 オーディオプレーヤにおいて可変ルートノートサポートを提供するための集積回路であって、楽器用デジタル(MIDI)データとユーザ定義機器のセットとをもつファイルを受け取ることと、前記ユーザ定義機器におけるユーザ定義ルートノート、前記MIDIデータにおけるMIDIノートに対するキー番号、プレーヤ固有のルートノートを使用してメトリックを決定することと、前記メトリックに基づいて前記キー番号を調整することとを行うように構成された集積回路。 請求項28 前記キー番号を調整することは、前記キー番号を前記メトリックと取り替える、請求項27記載の集積回路。 請求項29 メトリックを決定することは、前記プレーヤ固有のルートノートと前記キー番号とを合計することと、前記ユーザ定義ルートノートを引くこととを備える、請求項27記載の集積回路。 請求項30 前記ファイルを前記MIDIデータと前記ユーザ定義機器とに解析することと、前記ユーザ定義機器をプレーヤ固有のユーザ定義機器に変換することと、前記MIDIデータをプレーヤ固有のMIDIデータに変換することと、前記プレーヤ固有のMIDIデータと前記プレーヤ固有のユーザ定義機器とをプレーヤ固有のコンテナフォーマットに統合することとをさらに行うように構成された請求項27記載の集積回路。
类似技术:
公开号 | 公开日 | 专利标题 US10311842B2|2019-06-04|System and process for embedding electronic messages and documents with pieces of digital music automatically composed and generated by an automated music composition and generation engine driven by user-specified emotion-type and style-type musical experience descriptors JP6645956B2|2020-02-14|携帯用音声合成のためのシステム及び方法 ES2561534T3|2016-02-26|Mezclador de pistas de audio semántico JP4679678B2|2011-04-27|ディジタルオーディオデータをフォーマットするための方法及び装置 AU674592B2|1997-01-02|Intelligent accompaniment apparatus and method US7579543B2|2009-08-25|Electronic musical apparatus and lyrics displaying apparatus US7189912B2|2007-03-13|Method and apparatus for tracking musical score JP5201602B2|2013-06-05|音源分離システム、音源分離方法及び音源分離用コンピュータプログラム JP3894062B2|2007-03-14|楽曲データ配信装置、楽曲データ受信装置及びプログラム US5541354A|1996-07-30|Micromanipulation of waveforms in a sampling music synthesizer US7186910B2|2007-03-06|Musical tone generating apparatus and musical tone generating computer program JP2010518459A|2010-05-27|配布オーディオファイル編集用ウェブポータル US6191349B1|2001-02-20|Musical instrument digital interface with speech capability US7291779B2|2007-11-06|Performance information display apparatus and program US6740804B2|2004-05-25|Waveform generating method, performance data processing method, waveform selection apparatus, waveform data recording apparatus, and waveform data recording and reproducing apparatus EP1094442B1|2005-01-19|Musical tone-generating method Rothstein1992|MIDI: A comprehensive introduction US7514620B2|2009-04-07|Method for shifting pitches of audio signals to a desired pitch relationship US5747715A|1998-05-05|Electronic musical apparatus using vocalized sounds to sing a song automatically US9558727B2|2017-01-31|Performance method of electronic musical instrument and music US8198525B2|2012-06-12|Collectively adjusting tracks using a digital audio workstation US8618405B2|2013-12-31|Free-space gesture musical instrument digital interface | controller JP5283289B2|2013-09-04|音楽音響信号生成システム US6137045A|2000-10-24|Method and apparatus for compressed chaotic music synthesis JP2001075564A|2001-03-23|演奏データ処理装置及び方法
同族专利:
公开号 | 公开日 KR20100106595A|2010-10-01| KR101100991B1|2011-12-29| US8759657B2|2014-06-24| JP5086444B2|2012-11-28| WO2009094605A1|2009-07-30| US20090205480A1|2009-08-20| EP2232479A1|2010-09-29| CN101925948A|2010-12-22| TW200943088A|2009-10-16|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2012-04-11| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120410 | 2012-07-05| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120704 | 2012-07-31| TRDD| Decision of grant or rejection written| 2012-08-08| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120807 | 2012-08-09| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 | 2012-09-13| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120906 | 2012-09-14| R150| Certificate of patent or registration of utility model|Free format text: JAPANESE INTERMEDIATE CODE: R150 | 2012-09-20| FPAY| Renewal fee payment (event date is renewal date of database)|Free format text: PAYMENT UNTIL: 20150914 Year of fee payment: 3 | 2015-09-14| LAPS| Cancellation because of no payment of annual fees|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|